package com.huarui.inventory.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import org.ewaf.framework.model.BaseDataObject;

public class Inventory extends BaseDataObject implements Serializable {

	private static final long serialVersionUID = 3127659479031849984L;
	/**
	 * 入库单
	 */
	public static final Integer DOCUMENT_TYPE_RECEIVE = 0;
	/**
	 * 期初单
	 */
	public static final Integer DDOCUMENT_TYPE_INITIAL = 1;
	/**
	 * 急件单
	 */
	public static final Integer DDOCUMENT_TYPE_EXPRESS = 2;
	/**
	 * 退货单
	 */
	public static final Integer DDOCUMENT_TYPE_RETURNED = 3;
	/**
	 * 销售单
	 */
	public static final Integer DDOCUMENT_TYPE_SALE = 4;

	/**
	 * 都公开
	 */
	public static final String publicanLevel_ALL = "0";
	/**
	 * 对客户公司
	 */
	public static final String publicanLevel_PARTNER = "1";
	/**
	 * 不公开
	 */
	public static final String publicanLevel_PRIVATE = "2";
	
    public static final Integer GMTLASTTYPE_QUOTATION=1;
	
	public static final Integer GMTLASTTYPE_SOLD=2;
	/**
	 * 主健
	 */
	private Integer id;

	/**
	 * 所属公司的ID
	 */
	private Integer companyId;


	/**
	 * 仓库ID
	 */
	private Integer storeId;


	/**
	 * 仓位
	 */
	private String shelf;

	/**
	 * 零件ID
	 */
	private Integer partId;

	/**
	 * 零件编码
	 */
	private String code;
	/**
	 * 零件来源
	 */
	private Integer source;

	/**
	 * 零件来源名称
	 */
	private String name;
	
	private String nameEn;

	private String pyCode;
	
	private String measurementUnit;
	
	private Integer partCategoryId;
	private String level1Name;
	private String level2Name;
	private Integer level1Id;
	private String durability;
	/**
	 * 品牌
	 */
	private String brand;

	/**
	 * 产地
	 */
	private String origin;

	/**
	 * 成本价(该批次的价格)
	 */
	private BigDecimal cost;

	/**
	 * 公开零售价(媒体价)
	 */
	private BigDecimal retailPrice;

	/**
	 * 保险价
	 */
	private BigDecimal insurancePrice;
	/**
	 * 最低售价
	 */
	private BigDecimal minPrice;
	
	/**
	 * 初始数量
	 */
	private Integer initQuantity;

	/**
	 * 剩余数量
	 */
	private Integer onHand;

	/**
	 * 公开级别（0 =都公开，1=对客户公司，2=不公开）
	 */
	private String publicanLevel = "1";
	/**
	 * 入仓时间
	 */
	private Date gmtEntry;

	/**
	 * 修改时间
	 */
	private Date gmtModify;

	/**
	 * 单据类型(0=入库单，1=期初单，2=急件单)
	 */
	private Integer documentType;

	/**
	 * 单据ID
	 */
	private Integer documentId;

	/**
	 * 单据号
	 */
	private String documentCode;

	/**
	 * 供应商ID（从partner表中取,如果是从期初单来，那么取值为0）
	 */
	private Integer partnerId;

	/**
	 * 卖方的零件库存ID(如果是从线下公司采购，或者期初单，此值为空)
	 */
	private Integer inventoryIdBySeller;
	
	/**
	 * 供应商名称
	 */
	private String partnerName;
	/**
	 * 版本字段
	 */
	private Date tmsVersion;
	/**
	 * 最后报价时间
	 */
	private Date gmtLastQuotation;
	/**
	 * 最后卖出时间
	 */
	private Date gmtLastSold;
	/**
	 * 车型
	 */
	private String carModel;
	/**
	 * 退库数量
	 * @author yi
	 */
	//private Integer returnQuantity;
	
	//其他
	private Integer startOnHand;
	private Integer endOnHand;
	private Integer level2Id;
	
	//其他属性
    private Integer gmtLastType;
    
    //每次库存变化数量
    private Integer changeQuantity;
    
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public Integer getCompanyId() {
		return companyId;
	}
	public void setCompanyId(Integer companyId) {
		this.companyId = companyId;
	}
	public Integer getStoreId() {
		return storeId;
	}
	public void setStoreId(Integer storeId) {
		this.storeId = storeId;
	}
	public String getShelf() {
		return shelf;
	}
	public void setShelf(String shelf) {
		this.shelf = shelf;
	}
	public Integer getPartId() {
		return partId;
	}
	public void setPartId(Integer partId) {
		this.partId = partId;
	}
	public String getCode() {
		return code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	public Integer getSource() {
		return source;
	}
	public void setSource(Integer source) {
		this.source = source;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getNameEn() {
		return nameEn;
	}
	public void setNameEn(String nameEn) {
		this.nameEn = nameEn;
	}
	public String getPyCode() {
		return pyCode;
	}
	public void setPyCode(String pyCode) {
		this.pyCode = pyCode;
	}
	public String getMeasurementUnit() {
		return measurementUnit;
	}
	public void setMeasurementUnit(String measurementUnit) {
		this.measurementUnit = measurementUnit;
	}
	public Integer getPartCategoryId() {
		return partCategoryId;
	}
	public void setPartCategoryId(Integer partCategoryId) {
		this.partCategoryId = partCategoryId;
	}
	public String getLevel1Name() {
		return level1Name;
	}
	public void setLevel1Name(String level1Name) {
		this.level1Name = level1Name;
	}
	public String getLevel2Name() {
		return level2Name;
	}
	public void setLevel2Name(String level2Name) {
		this.level2Name = level2Name;
	}
	public Integer getLevel1Id() {
		return level1Id;
	}
	public void setLevel1Id(Integer level1Id) {
		this.level1Id = level1Id;
	}
	public String getDurability() {
		return durability;
	}
	public void setDurability(String durability) {
		this.durability = durability;
	}
	public String getBrand() {
		return brand;
	}
	public void setBrand(String brand) {
		this.brand = brand;
	}
	public String getOrigin() {
		return origin;
	}
	public void setOrigin(String origin) {
		this.origin = origin;
	}
	public BigDecimal getCost() {
		return cost;
	}
	public void setCost(BigDecimal cost) {
		this.cost = cost;
	}
	public BigDecimal getRetailPrice() {
		return retailPrice;
	}
	public void setRetailPrice(BigDecimal retailPrice) {
		this.retailPrice = retailPrice;
	}
	public BigDecimal getInsurancePrice() {
		return insurancePrice;
	}
	public void setInsurancePrice(BigDecimal insurancePrice) {
		this.insurancePrice = insurancePrice;
	}
	public BigDecimal getMinPrice() {
		return minPrice;
	}
	public void setMinPrice(BigDecimal minPrice) {
		this.minPrice = minPrice;
	}
	public Integer getInitQuantity() {
		return initQuantity;
	}
	public void setInitQuantity(Integer initQuantity) {
		this.initQuantity = initQuantity;
	}
	public Integer getOnHand() {
		return onHand;
	}
	public void setOnHand(Integer onHand) {
		this.onHand = onHand;
	}
	public String getPublicanLevel() {
		return publicanLevel;
	}
	public void setPublicanLevel(String publicanLevel) {
		this.publicanLevel = publicanLevel;
	}
	public Date getGmtEntry() {
		return gmtEntry;
	}
	public void setGmtEntry(Date gmtEntry) {
		this.gmtEntry = gmtEntry;
	}
	public Date getGmtModify() {
		return gmtModify;
	}
	public void setGmtModify(Date gmtModify) {
		this.gmtModify = gmtModify;
	}
	public Integer getDocumentType() {
		return documentType;
	}
	public void setDocumentType(Integer documentType) {
		this.documentType = documentType;
	}
	public Integer getDocumentId() {
		return documentId;
	}
	public void setDocumentId(Integer documentId) {
		this.documentId = documentId;
	}
	public String getDocumentCode() {
		return documentCode;
	}
	public void setDocumentCode(String documentCode) {
		this.documentCode = documentCode;
	}
	public Integer getPartnerId() {
		return partnerId;
	}
	public void setPartnerId(Integer partnerId) {
		this.partnerId = partnerId;
	}
	public Integer getInventoryIdBySeller() {
		return inventoryIdBySeller;
	}
	public void setInventoryIdBySeller(Integer inventoryIdBySeller) {
		this.inventoryIdBySeller = inventoryIdBySeller;
	}
	public String getPartnerName() {
		return partnerName;
	}
	public void setPartnerName(String partnerName) {
		this.partnerName = partnerName;
	}
	public Date getTmsVersion() {
		return tmsVersion;
	}
	public void setTmsVersion(Date tmsVersion) {
		this.tmsVersion = tmsVersion;
	}
	public Date getGmtLastQuotation() {
		return gmtLastQuotation;
	}
	public void setGmtLastQuotation(Date gmtLastQuotation) {
		this.gmtLastQuotation = gmtLastQuotation;
	}
	public Date getGmtLastSold() {
		return gmtLastSold;
	}
	public void setGmtLastSold(Date gmtLastSold) {
		this.gmtLastSold = gmtLastSold;
	}
	public String getCarModel() {
		return carModel;
	}
	public void setCarModel(String carModel) {
		this.carModel = carModel;
	}
	
	public Integer getStartOnHand() {
		return startOnHand;
	}
	public void setStartOnHand(Integer startOnHand) {
		this.startOnHand = startOnHand;
	}
	public Integer getEndOnHand() {
		return endOnHand;
	}
	public void setEndOnHand(Integer endOnHand) {
		this.endOnHand = endOnHand;
	}
	public Integer getLevel2Id() {
		return level2Id;
	}
	public void setLevel2Id(Integer level2Id) {
		this.level2Id = level2Id;
	}
	public Integer getGmtLastType() {
		return gmtLastType;
	}
	public void setGmtLastType(Integer gmtLastType) {
		this.gmtLastType = gmtLastType;
	}
	public Integer getChangeQuantity() {
		return changeQuantity;
	}
	public void setChangeQuantity(Integer changeQuantity) {
		this.changeQuantity = changeQuantity;
	}
	
	

	

}
